package cdu.sl.aichatdemo.service;

import cdu.sl.aichatdemo.pojo.dto.ChatHistoryDto;
import cdu.sl.aichatdemo.pojo.entity.CustomChatMemory;

import java.util.List;

/**
 * @Description 聊天客户端服务接口
 * @Author sunlin5@asiainfo.com
 * @Date 2025/8/28
 * @Version 1.0
 */
public interface ChatClientService {
    
    /**
     * 根据对话ID查询单次对话的所有记录
     * @param conversationId 对话ID
     * @return 对话记录列表
     */
    List<CustomChatMemory> getChatRecordsByConversationId(String conversationId);
    
    /**
     * 根据用户ID查询用户的历史对话记录
     * @param userId 用户ID
     * @return 历史对话记录列表（每个对话ID对应一条记录）
     */
    List<CustomChatMemory> getChatHistoryByUserId(Long userId);
    
    /**
     * 根据用户ID查询用户的历史对话记录（DTO格式）
     * @param userId 用户ID
     * @return 历史对话记录DTO列表
     */
    List<ChatHistoryDto> getChatHistoryDtoByUserId(Long userId);
    
    /**
     * 根据用户ID和对话ID查询具体对话内容
     * @param userId 用户ID
     * @param conversationId 对话ID
     * @return 具体对话内容列表
     */
    List<CustomChatMemory> getChatDetailsByUserIdAndConversationId(Long userId, String conversationId);
}
